0 OPEN2,2,0,CHR$(6)+CHR$(0):OPEN15,8,15 10 REM***************************** 20 REM*** SEND/RECIEVE *** 30 REM*** BY JOE BOOTH SEP83 *** 40 REM*** SEND AND REIEVE USING *** 50 REM*** TWO C64 THROUGHT THE *** 60 REM*** PHONE LINES *** 70 REM*** USING PROTOCAL SIMILAR*** 80 REM*** TO STEVE PUNTER *** 90 REM***************************** 100 : 110 REM >>>>>>>>>MENU<<<<<<<<<<<<<< 120 POKE53280,0:POKE53281,0:B=0 130 PRINT"[147]S[146]END OR R[146]ECIEVE OR E[146]XIT" 140 PRINT"SELECT (R/S/E):"; 150 GETA$:IFA$<>"R"ANDA$<>"S"ANDA$<>"E"THEN150 160 PRINTA$:IFA$<>"E"THEN240 170 CLOSE2:CLOSE15:PRINT"GOODBYE!!!!" 180 PRINT"IF YOU HAVE ANY QUESTIONS OR" 190 PRINT"PROBLEMS WITH THIS PROGRAM," 200 PRINT"CONTACT JOE BOOTH THROUGHT" 210 PRINT"ANY OF THESE BBS....." 220 PRINT"PSI-WORDPRO":PRINT"BURLINGTON BBS" 230 END 240 IFA$="R"THEN1000 250 GOTO500 260 REM>>>CONVERT A BYTE FOR SENDING<<< 270 REM A0=ASC(BYTE):A0$,A1$=OUTPUT OF THAT BYTE 275 CK=CK+A0 280 Z0=(INT(A0/16))+65:Z1=(A0-(Z0-65)*16)+65 290 A0$=CHR$(Z0):A1$=CHR$(Z1):RETURN 300 REM>>>DO THE OPPISITE CONVERT BACK<<< 310 REM A0$,A1$=INPUT FROM MODEM:A0=ASC(BYTE) 320 Z0=ASC(A0$)-65:Z1=ASC(A1$)-65 330 A0=Z0*16+Z1:CK=CK+A0:RETURN 340 REM>>>>WAIT, SEND BYTE<<< 345 GET#2,A$:IFA$<>"C"ANDA$<>"Z"THEN345 346 IFA$="Z"THEN2000 350 PRINT#2,A0$;:FORA=1TO40:NEXT 360 PRINT#2,A1$; 380 RETURN 390 REM>>>WAIT FOR BYTE,SEND SIGNAL<<< 395 GET#2,A$:IFA$<>""THEN395 400 T0=0:PRINT#2,"C"; 410 GET#2,A0$:IFA0$<>""THEN420 412 IFT0>10THEN400 414 T0=T0+1:GOTO410 420 GET#2,A1$:IFA1$=""THEN420 430 RETURN 490 : 500 REM****************************** 510 REM*** SEND WHATEVER ************ 520 REM****************************** 530 PRINT"NAME OF THE PROGRAM";:INPUTFL$ 540 PRINT"[147]FILE : "FL$ 550 PRINT"WHAT TYPE OF FILE IS IT:" 560 PRINT"P[146]ROGRAM":PRINT"S[146]EQ.":PRINT"W[146]ORD PRO":PRINT"U[146]SER" 570 PRINT"SELECT (P/S/W/U)" 580 GETA$:IFA$<>"P"ANDA$<>"S"ANDA$<>"W"ANDA$<>"U"THEN580 590 PRINT"[147]FILE : "FL$TAB(30)"TYPE : "A$:TY$=A$:PRINT:CK=0 600 IFTY$="W"THENTY$="P" 610 OPEN1,8,14,FL$+","+TY$+",R":INPUT#15,DS$:DS=VAL(DS$):IFDS<>0THEN 620 PRINT"STARTING TRANSMITTION":PRINT"BYTES SENT" 630 PRINT#2,TY$;:GET#2,A$:IFA$<>TY$THEN630 640 REM SEND 650 GET#1,A0$:IFA0$=""THENA0$=CHR$(0) 660 IFST<>0THEN680 670 A0=ASC(A0$):GOSUB260:GOSUB340:B=B+1:PRINTB"[157] [145]":GOTO650 680 GOSUB800:A0$="+":A1$="+":GOSUB340:CLOSE1:GOTO100 800 IFTY$<>"P"THENRETURN 810 FORZ9=1TO3:A0=0:GOSUB260:GOSUB340:NEXT:RETURN 1000 : 1010 REM****************************** 1020 REM*** RECIEVE WHATEVER *** 1030 REM****************************** 1040 INPUT"NAME OF FILE";FL$ 1045 PRINT"RECIEVING":PRINT"BYTES RECIEVE" 1050 GET#2,TY$:IFTY$<>"S"ANDTY$<>"P"ANDTY$<>"U"THEN1050 1055 FORA=1TO20:PRINT#2,TY$;:NEXT 1060 OPEN1,8,14,FL$+","+TY$+",W" 1070 INPUT#15,DS$:DS=VAL(DS$):IFDS<>0THEN3000 1080 GOSUB390:IFA0$="+"ANDA1$="+"THEN1120 1090 IFA0$<"A"ORA0$>"Q"THEN1300 1100 IFA1$<"A"ORA1$>"Q"THEN1300 1105 B=B+1:PRINTB"[157] [145]" 1110 GOSUB300:PRINT#1,CHR$(A0);:GOTO1080 1120 CLOSE1 1190 PRINT"PRESS RETURN TO CONTINUE" 1200 GETA$:IFA$<>CHR$(13)THEN1200 1210 GOTO100 1300 CLOSE1:PRINT"BAD TRANSMITTION" 1310 PRINT"TELLING SENDER TO ABORT..ONE MINUTE" 1320 PRINT#2,"Z":GET#2,A$:IFA$<>"O"THEN1320 1330 PRINT"SEND HAS BEEN NOTIFIED":GOTO1190 2000 PRINT#2,"O";:CLOSE1:PRINT"RECEIVER HAS REQUESTED" 2010 PRINT"ABORTING, REQUEST GRANTED":GOTO1190 3000 PRINT"DISK ERROR";DS:GOTO1300